Voice data or signals are commonly compressed and decompressed (encoded and decoded) when they are sent or received by communications applications. A common technique for voice compression or coding is ADPCM. The Consultative Committee in International Telegraphy and Telephony ("CCITT") has adopted a particular ADPCM algorithm known as CCITT standard G.721 for 32 Kbps (bits per second) coding of voice signals which is described in CCITT Recommendation G.721 "32 Kbits/s Adaptive Differential Pulse Code Modulation", CCITT Blue Book, 1988 and which is hereby incorporated by reference for its teachings on the G.721 system. The CCITT standard G.721 was developed for terrestrial wireline applications and provides "toll quality" voice compression and decompression with a minimal processing delay and fairly low complexity provided the communications channel error rates are very low. Generally, terrestrial wireline applications have very low error rates due to an imperfect communications channel, and as such the G.721 system works well with such applications. The CCITT standard G.721, however, has also been adopted for voice compression or coding in wireless communications applications where the error rate may not be as low. For example, the CCITT standard G.721 has been adopted for voice compression or coding for such Personal Communication Services ("PCS") applications as the Japanese Personal Handi-Phone (PHP) and European DECT systems.
The G.721 voice coding system, however, has been found to quickly degrade in communication applications with higher error rates (than wireline applications) such as PCS applications (e.g., the Japanese PHP or the European DECT systems) and in other higher error rate communication applications. It has been found that the perceived voice quality may be reduced even if the error rate is not much higher than the error rate of wireline applications because even a low level of errors due to an imperfect communications channel has been found to produce "clicks" and "pops" caused in a voice signal when the G.721 voice coding system is used. Modifications to ADPCM coding systems to make the systems more robust to channel errors, such as described by Cointot and G. de Passoz in "A 60-Channel PCM-ADPCM Converter Robust to Channel Errors", Proceedings of the International Conference of Acoustics, Speech, and Signal Processing 1982 and by D. Kim and C. K. Un in "ADPCM System with Improved Error Control", Proceedings of the International Conference of Acoustics, Speech, and Signal Processing 1983, are not possible since PCS standards specify that the exact CCITT G.721 standard must be used.
Known techniques to improve the perceived voice quality of systems using the exact G.721 voice coding system include waveform substitution techniques such as those described by David J. Goodman et al. in "Waveform Substitution Techniques for Recovering Missing Speech Segments in Packet Voice Communications", IEEE Transactions on Acoustics, Speech and Signal Processing, Vol. ASSP-34, No. 6, December 1986 and by Kiyoshi Yokota, et al. in "A New Missing ATM Cell Reconstruction Scheme for ADPCM-Coded Speech", Proceedings of the International Conference of Acoustics, Speech, and Signal Processing 1989 which are hereby incorporated by reference. One common waveform substitution technique is known as zero substitution. In this waveform substitution technique, a received voice segment containing errors is replaced with zeros or the ADPCM encoded equivalent of zeros. This technique is also used when an entire voice segment or packet is not received. This waveform substitution technique fails to use the valuable information in the received voice segment with errors since it completely substitutes this segment with zeros.
A second waveform substitution technique is known as last packet substitution. In this waveform substitution technique, a received voice segment containing errors is replaced with the last received voice segment. This technique therefore requires a memory device to store prior received voice segments. This technique has been found to cause mistracking in the ADPCM decoder which produces audible "clicks" in the resultant decoded voice signal.
A third common waveform substitution technique is known as pitch synchronous waveform substitution. In this technique, received voice segments are categorized based on their pitch. When a voice segment with errors is received, its pitch is determined, and then a previously received voice segment which has a similar pitch as the received voice signal with errors is substituted. This system reduces the mistracking and consequently the audible clicks produced by the last packet substitution technique. This technique, however, induces an extremely large increase in the algorithm complexity of the G.721 system. Finally, all of these common waveform substitution techniques fail to use the valuable information in the received voice segment with errors since they completely substitute this segment with either zeros or some previously received voice segment.
It is an object of the present invention to improve the perceived quality of ADPCM encoded signals by using the valuable information in received voice segments with errors by compensating for the actual compression and decompression process used in ADPCM encoders and decoders which produces the audible "clicks" and "pops" in the decoded voice signal when errors are present in received voice segments.